home *** CD-ROM | disk | FTP | other *** search
- //**************************************************
- // Listing 4
- //
- // FILE NAME : tsema.cpp
- // AUTHOR : Matt Weisfeld
- //
- // DESCRIPTION : test the semaphore class
- //**************************************************
- #include <iostream.h>
- #include <stdlib.h>
- #include <string.h>
- #include "sema.h"
-
- const PROC_NUM=3; // this can be passed as a parameter
-
- //
- // Simple test program for using the semaphore class. To initialize
- // the synchronization file, execute:
- //
- // % test i
- //
- // To synchronize a process, execute:
- //
- // % test n (where n is the process number)
- //
-
- main(int argc, char **argv)
- {
-
- fprintf (stderr,"SEMAPHORE(1.0)\n");
-
- // must be 2 args
- if (argc != 2) {
- printf ("Error: bad number of args.\n");
- exit(0);
- }
-
- // can't have a proc number greater than PROC_NUM
- if (atoi(argv[1]) >= PROC_NUM) {
- printf ("Invalid processor number: must be less than %d.\n",
- PROC_NUM);
- exit(0);
- }
-
- semaphore S(PROC_NUM); // instatiate the semaphore object
-
- S.synchronize(argv[1]); // perform the synchronization
-
- return(0);
- }
-